home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 4
/
FM Towns Free Software Collection 4 - Disc 1.iso
/
data
/
games
/
las.bas
< prev
next >
Wrap
BASIC Source File
|
1991-10-18
|
3KB
|
84 lines
1000 DEFLNG O,P:CLS
1010 PRINT "***LAST ARMAGEDDON":PRINT
1020 PRINT "作成済のセーブディスクをAドライブに入れること":PRINT
1030 PRINT "1)モンスター図鑑表示属性変更 2)パラメータ変更"
1040 PRINT "3)魔法変更 4)特殊攻撃変更"
1050 PRINT "5)アゾット剣全員携帯"
1060 N$=INPUT$(1):N=VAL(N$):IF N=0 THEN END
1070 ON N GOSUB 1100,1150,1220,1280,1340
1080 RUN
1090 '
1100 CLS:PRINT "***モンスター図鑑表示属性変更"
1110 OPEN "R",#1,"A:(156)\MONP.BIN":FIELD #1,156 AS DT$
1120 LSET DT$=STRING$(255,255):PUT #1:CLOSE
1130 RETURN
1140 '
1150 GOSUB *OPEN
1160 CLS:PRINT "***パラメータエディット":PRINT
1170 GOSUB *SELECT:IF MN$="" THEN CLOSE:RETURN
1180 RESTORE 1720:READ N$,OF,LN
1190 WHILE N$<>"*":GOSUB *PAR:READ N$,OF,LN:WEND
1200 GOTO 1160
1210 '
1220 GOSUB *OPEN
1230 CLS:PRINT "***魔法エディット":PRINT
1240 GOSUB *SELECT:IF MN$="" THEN CLOSE:RETURN
1250 N$="魔法":M$="1~28":LN=1:OF=&HBE:OF2=&HCA:CT=8:FLG=-1:GOSUB *MAG
1260 GOTO 1230
1270 '
1280 GOSUB *OPEN
1290 CLS:PRINT "***特殊攻撃エディット":PRINT
1300 GOSUB *SELECT:IF MN$="" THEN CLOSE:RETURN
1310 N$="特殊攻撃":M$="256~300":LN=2:OF=&H8E:CT=8:FLG=0:GOSUB *MAG
1320 GOTO 1290
1330 '
1340 GOSUB *OPEN:CLS:PRINT "***アゾット剣全員携帯"
1350 LSET DT$=CHR$(0):FOR OF=&H44 TO &H44+12:PUT #1,OF+1:NEXT:CLOSE
1360 RETURN
1370 '
1380 *OPEN
1390 OPEN "R",#1,"A:(1)\SAVE.BIN":FIELD #1,1 AS DT$:RETURN
1400 *SELECT
1410 FOR MN=0 TO 11:GOSUB *NAME:PRINT MN;") "+N$:NEXT
1420 LINE INPUT "モンスターを選んで下さい ",MN$:IF MN$="" THEN RETURN
1430 MN=VAL(MN$):IF MN>11 OR MN<0 THEN 1420
1440 GOSUB *NAME:CLS:PRINT "***"+N$:PRINT
1450 *NAME
1460 N$="":FOR I=1 TO 16:GET #1,&H500+&HCA*MN+I+&H63:N$=N$+DT$:NEXT:RETURN
1470 *PAR
1480 GOSUB *GETPRM:PRINT :PRINT N$;"の現在値 :";PRM1
1490 PRINT "変更する値を";LN*8;"ビットに収まる値で入力して下さい ";
1500 LINE INPUT P$
1510 IF P$<>"" THEN PRM2=VAL(P$):GOSUB *PUTPRM:PRINT "変更 ";PRM1;"=>";PRM2
1520 RETURN
1530 *MAG
1540 FOR LP=1 TO CT
1550 GOSUB *GETPRM:PRINT :PRINT N$;LP;"の種類 :";PRM1
1560 PRINT "変更する値を"+M$+"に収まる値で入力して下さい ";
1570 LINE INPUT P$
1580 IF P$<>"" THEN PRM2=VAL(P$):GOSUB *PUTPRM:PRINT "変更 ";PRM1;"=>";PRM2
1590 IF FLG=0 OR P$="" THEN 1620
1600 IF PRM2=2 OR PRM2=16 OR PRM2=21 THEN LV$=CHR$(3) ELSE LV$=CHR$(6)
1610 LSET DT$=LV$:PUT #1,&H500+&HCA*MN+OF2+1:OF2=OF2+1
1620 OF=OF+LN
1630 NEXT:RETURN
1640 *GETPRM
1650 PRM1=0:FOR I=1 TO LN:GET #1,&H500+&HCA*MN+OF+I:PRM1=ASC(DT$)*(256^(I-1))+PRM1:NEXT:RETURN
1660 *PUTPRM
1670 P$="0000000"+HEX$(PRM2)
1680 FOR I=1 TO LN
1690 LSET DT$=CHR$(VAL("&H"+MID$(P$,LEN(P$)-I*2+1,2))):PUT #1,&H500+&HCA*MN+OF+I
1700 NEXT:RETURN
1710 '
1720 DATA 総合レベル,&H1C,1,総合経験値,&H78,4
1730 DATA 最大HP,&H26,4,最大MP,&H33,4,ジン,&H18,4
1740 DATA 体力レベル,&H25,1,体力数,&H1D,4,体力経験値,&H21,4
1750 DATA 魔力レベル,&H32,1,魔力数,&H2A,4,魔力経験値,&H2E,4
1760 DATA 攻撃力レベル,&H50,1,攻撃力数,&H48,4,攻撃力経験値,&H4C,4
1770 DATA 防御レベル,&H47,1,防御数,&H3F,4,防御経験値,&H43,4
1780 DATA 敏捷性レベル,&H62,1,敏捷性数,&H5D,1,敏捷性経験値,&H5E,4
1790 DATA 気力レベル,&H56,1,気力数,&H51,1,気力経験値,&H52,4
1800 DATA 悪運レベル,&H5C,1,悪運数,&H57,1,悪運経験値,&H58,4
1810 DATA *,0,0
1820 '